package com.moto.controller.admin;

import com.github.pagehelper.Page;
import com.moto.entity.User;
import com.moto.entityDto.UserPageDto;
import com.moto.entityDto.UserUpdateDto;
import com.moto.result.Result;
import com.moto.service.IEmpService;
import com.moto.utils.PageResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * 员工管理用户接口
 */
@RestController
@RequestMapping("/admin/emp")
@Slf4j
@CrossOrigin(origins = "*")
@Api(tags = "员工管理用户相关接口")
public class manageUserController {

    @Autowired
    private IEmpService empService;

    /**
     * 员工删除用户
     */
    @DeleteMapping("/deleteUserById/{id}")
    @ApiOperation("员工删除用户")
    public Result deleteUserById(@PathVariable int id) {
        empService.deleteUserById(id);
        return Result.success();
    }

    /**
     * 员工修改用户
     */
    @PostMapping("/updateUser")
    @ApiOperation("员工修改用户信息")
    public Result updateUser(@RequestBody UserUpdateDto userUpdateDto) {
        log.info("员工修改用户信息");
        empService.updateUser(userUpdateDto);
        return Result.success();
    }

    /**
     * 员工根据id查询员工信息
     */
    @GetMapping("/findUserById")
    @ApiOperation("员工根据id查询员工信息")
    public Result<User> findUserById(int id){
        log.info("员工根据id查询员工信息");
        User user = empService.findUserById(id);
        return Result.success(user);
    }

    /**
     * 员工模糊查询查询所有用户信息
     */
    @GetMapping("findLikeUser")
    @ApiOperation("员工模糊查询查询所有用户信息")
    public Result<PageResult> findLikeUser(UserPageDto userPageDto){
        log.info("员工模糊查询查询所有用户信息");
        PageResult<User> list = empService.findLikeUser(userPageDto);
        return Result.success(list);
    }

}
